New Algorithm for Slicing Unstructured Pro - grams
نویسنده
چکیده
SUMMARY Program slicing is an automatic program abstraction technique whose many applications include software maintenance, re{engineering and comprehension, all of which rely crucially upon the precision of the slicing algorithm used. When slicing is applied to maintenance problems, the programs to be sliced are typically legacy systems, often written in older, `unstructured' programming styles. For slicing to be a useful tool to the software maintainer it is therefore important to have precise algorithms for slicing unstructured programs. Unfortunately the standard algorithms for slicing structured programs do not extend correctly to the unstructured paradigm, and currently proposed modiications to these standard algorithms produce either unnecessarily large slices or slices which are not true subsets of the original program from which they are constructed. This paper introduces a modiication of Agrawal's algorithm for slicing unstructured programs , which overcomes these diiculties. The new algorithm produces thinner slices than any previously published algorithm while respecting both the semantic and syntactic constraints of slicing. c
منابع مشابه
Theory and algorithms for slicing unstructured programs
Program slicing identifies parts of a program that potentially affect a chosen computation. It has many applications in software engineering, including maintenance, evolution and re-engineering of legacy systems. However, these systems typically contain programs with unstructured control-flow, produced using goto statements; thus, effective slicing of unstructured programs remains an important ...
متن کاملThe Application of Term Rewriting Systems for Expressing Generic Program Slicing Algorithms
Program slicing is a technique in software engineering for isolating parts of a program that influence the value of a variable or some other arbitrary expression in that program. There exist many different slicing algorithms, with specific techniques for a variety of language features such as procedures, unstructured control flow, composite data types, pointers, concurrency, etc. This paper sho...
متن کاملHandling Pointers and Unstructured Statements in the Forward Computed Dynamic Slice Algorithm
Different program slicing methods are used for debugging, testing, reverse engineering and maintenance. Slicing algorithms can be classified as a static slicing or dynamic slicing type. In applications such as debugging the computation of dynamic slices is more preferable since it can produce more precise results. In a recent paper [5] a new so-called “forward computed dynamic slice” algorithm ...
متن کاملOpinion Summarization for Hotel Reviews
This paper presents a new approach for finding the best ngrams that efficiently summarize a large set of reviews. The proposed unsupervised method uses a readability score and a representativeness score to select those n-grams that best convey the main opinions contained in the processed reviews. In order to further refine the selected n-grams, we use sentiment analysis and part of speech (POS)...
متن کاملAn optimal algorithm for 3D triangle mesh slicing
We describe an algorithm for slicing an unstructured triangular mesh model by a series of parallel planes. We prove that the algorithm is asymptotically optimal: its time complexity is O(n log k+k+m) for irregularly spaced slicing planes, where n is the number of triangles, k is the number of slicing planes, andm is the number of triangle-plane intersections segments. The time complexity reduce...
متن کامل